|
Technote 1177Introducing the LaserWriter 8 Driver version 8.7By Ingrid Kelly |
CONTENTSScriptable printing |
This Technote outlines some of the new features and changes that Apple has made in the LaserWriter 8 version 8.7 driver (released as part of Mac OS 9). It describes expanded technology and user interface support and what these mean to the developer community. LaserWriter 8.7 is only available as part of Mac OS 9 and can only be run on PowerPC machines running Mac OS 9. |
Scriptable printingUntil the introduction of LaserWriter 8.7, it has been difficult for an application to extend the scriptability of the print Apple event. The application received the print event, but it was the printer driver that controlled and used the settings for the print job. In addition, the print settings used by each driver have been different. In LaserWriter 8.7, the driver allows an AppleScript script to give the control to an application by introducing parameters to set and control most of the user options available via the Print dialog. Applications are now provided with a coercion mechanism to turn these parameters into a valid print record with the options correctly configured based on the script. In order to accomplish this, new vocabulary has been defined to describe and reference the various options in the Print dialog. Technote 1178, “Scriptable Printing,” details the extensions to the print event that allow scripters to control printing, and describes the changes applications and printer drivers will need to make to support these new printing features. PostScript Output Filter Plug-insLaserWriter 8.7 adds the ability for developers to create custom output filters to preprocess the PostScript code emitted by the driver prior to its being sent to a device using either a built-in I/O type or a custom hose. This allows developers to modify the PostScript code as it is emitted by the driver, or to insert their own PostScript code into any PostScript stream emitted by the driver. PostScript output filter plug-ins can have user controls that appear in the LaserWriter 8.7 Print Dialog as custom panels. These panels work the same way as the driver’s built-in panels; for example, users can save filter defaults on a printer-by-printer basis, just as they do for other portions of the print dialog. For more information on PostScript Filters, see Technote 1179, “PostScript Output Filters For LaserWriter 8.7.”
Foreground default queryApple has received requests for the ability for spoolers to default their print jobs to foreground. Therefore, with the 8.7 release, Apple has added a query that allows developers to enable this feature from their spooler: |
%%?BeginQuery: RBIForegroundPrintingPreferred (False\n)print %%?EndQuery: Unknown |
Note: |
FontSync supportThe FontSync Font IDs are now included in the Job Log. See Technote 1166, “LaserWriter 8.6.5 Job Log Format” for more information on the Job Log. Improved support for 2-Byte TrueType FontsLaserWriter 8.7 synthesizes Bold, Italic, Expanded, Compressed, Shadow, and Outline styles for 2-byte fonts that do not already contain data for these styles. This works in conjunction with the font subsetting technology introduced in LaserWriter 8.6. See Technote 1146, “LaserWriter 8 and Fonts” for more information. |
SummaryAs you can see, the 8.7 release of the LaserWriter 8 driver has many improvements for both users and developers. |
Thanks to Howard Miller, David Gelphman, and Paul Danbold.